Auto merge of #2186 - alexcrichton:transaction, r=brson
authorbors <bors@rust-lang.org>
Wed, 2 Dec 2015 00:50:33 +0000 (00:50 +0000)
committerbors <bors@rust-lang.org>
Wed, 2 Dec 2015 00:50:33 +0000 (00:50 +0000)
commit2a07807bfb183d7a5f80b86c83261c07090241d1
treeb4eb2edcc32fdad779f7198ea61345a1edabacde
parent7c3b8ef9ac8680bae585d02cbf162d992bdaab38
parente8afad4163057db38c2bccc6c36c2caac72b4f81
Auto merge of #2186 - alexcrichton:transaction, r=brson

Right now a `Bomb` struct is used to attempt to ensure that broken tarballs
don't escape, but this unfortunately doesn't work for when Cargo is terminated
via other means such as ctrl-c or abnormal termination. Instead the tarball is
constructed in a temporary location and then only moved to the final location
once all checks pass.

Closes #2173
cc #2177